package com.java.second_goods.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 商品对象 tb_goods
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("tb_goods")
public class Goods extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /** 商品名称 */
    private String name;

    /** 商品描述 */
    private String description;

    /** 价格 */
    private BigDecimal price;

    /** 原价 */
    private BigDecimal originalPrice;

    /** 缩略图URL (列表展示用的主图) */
    private String image;

    /** 评分 */
    private BigDecimal rating;

    /** 所属分类ID */
    private Integer categoryId;

    /** 是否热门 */
    private Boolean isPopular;

    /** 是否新品 */
    private Boolean isNew;

    /** 物品状况：10-全新，9-9成新，以此类推 */
    @TableField("`condition`")  // condition是关键字，需要转义
    private String condition;

    /** 卖家ID */
    private Integer sellerId;

    /** 交易地点 */
    private String location;

    /** 浏览次数 */
    private Integer viewsCount;

    /** 收藏次数 */
    private Integer favoritesCount;

    /** 标签，多个标签以逗号分隔 */
    private String tags;

    /** 是否可议价：1-可议价，0-不可议价 */
    private Integer negotiable;

    /** 数量 */
    private Integer quantity;

    /** 交易方式：1-面交，2-邮寄，3-均可 */
    private String transactionType;

    /** 状态：1-正常，0-下架 */
    private Integer status;
}